package Demo20;
/*
this关键字的三种用法（访问本类内容；）
1，在本类的成员方法中，访问本类的成员变量；
2，在本类的成员方法中，访问本类的另一个成员方法；
3，在本类的构造方法中，访问本类的另一个构造方法；
在第三种方法中需注意；
this（...）调用必须是构造方法的第一个语句；【是唯一 一个；】
 super和this 两种构造调用，不能同时使用；【必须是唯一 的】
 */
public class Zi extends  Fu {

//    在本类的构造方法中，访问本类的另一个构造方法；
    public  Zi(){
//        super();//调父类
//        this();//自己调自己-----错误写法；
        this(123);//本类的无参构造，调用本类的有参构造 ；------构造方法的重载调用
//        this(123,456)//错误 写法
    }
    //一个构造调用另一个本类构造；
    public  Zi(int n){
        this(123,456);

    }
    public  Zi(int n,int m){
//        this();//错误写法
        /*无参的调1个；1个的调2个；2个的调无参的（调回去）*/
    }


    //在本类的成员方法中，访问本类的成员变量；
    //成员变量
    int num=20;

    public void shoeNum(){
        //局部变量；
        int num=10;
        System.out.println(num);//10
        System.out.println(this.num);//20-------本类中成员变量
        System.out.println(super.num);//30父类中的成员变量
    }

    //在本类的成员方法中，访问本类的另一个成员方法；
    public  void  methodA(){
        System.out.println("A方法；");
    }
    public  void  methodB(){
        //调用B的时候调用A;
        methodA();//方法1
        this.methodA();//方法2；
        System.out.println("B方法；");
    }
}
